<?xml version="1.0" encoding="UTF-8"?>
<!-- File: xlinks.xsd  -->
<schema targetNamespace="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0">
	<annotation>
		<appinfo source="urn:opengis:specification:gml:schema-xsd:xlinks:v3.0c2">xlinks.xsd v3.0b2 2001-07</appinfo>
		<documentation>
			GML 3.0 candidate xlinks schema. Copyright (c) 2001 OGC, All Rights Reserved.
			
			Edited 2004-09-17 to add maxLength constraints to string types PwD
		</documentation>
	</annotation>
	<!-- ==============================================================
       global declarations
  	=============================================================== -->
	<!-- locator attribute -->
	<attribute name="href" type="anyURI"/>
	<!-- semantic attributes -->
	<attribute name="role" type="anyURI"/>
	<attribute name="arcrole" type="anyURI"/>
	<attribute name="title" type="string"/>
	<!-- behavior attributes -->
	<attribute name="show">
		<annotation>
			<documentation>
        The 'show' attribute is used to communicate the desired presentation 
        of the ending resource on traversal from the starting resource; it's 
        value should be treated as follows: 
        new - load ending resource in a new window, frame, pane, or other 
              presentation context
        replace - load the resource in the same window, frame, pane, or 
                  other presentation context
        embed - load ending resource in place of the presentation of the 
                starting resource
        other - behavior is unconstrained; examine other markup in the 
                link for hints 
        none - behavior is unconstrained 
      </documentation>
		</annotation>
		<simpleType>
			<restriction base="string">
				<enumeration value="new"/>
				<enumeration value="replace"/>
				<enumeration value="embed"/>
				<enumeration value="other"/>
				<enumeration value="none"/>
				<maxLength value="7"/>
			</restriction>
		</simpleType>
	</attribute>
	<attribute name="actuate">
		<annotation>
			<documentation>
        The 'actuate' attribute is used to communicate the desired timing 
        of traversal from the starting resource to the ending resource; 
        it's value should be treated as follows:
        onLoad - traverse to the ending resource immediately on loading 
                 the starting resource 
        onRequest - traverse from the starting resource to the ending 
                    resource only on a post-loading event triggered for 
                    this purpose 
        other - behavior is unconstrained; examine other markup in link 
                for hints 
        none - behavior is unconstrained
      </documentation>
		</annotation>
		<simpleType>
			<restriction base="string">
				<enumeration value="onLoad"/>
				<enumeration value="onRequest"/>
				<enumeration value="other"/>
				<enumeration value="none"/>
				<maxLength value="9"/>
			</restriction>
		</simpleType>
	</attribute>
	<!-- traversal attributes -->
	<attribute name="label" type="string"/>
	<attribute name="from" type="string"/>
	<attribute name="to" type="string"/>
	<!-- ==============================================================
       Attributes grouped by XLink type, as specified in the W3C 
       Proposed Recommendation (dated 2000-12-20)
	============================================================== -->
	<attributeGroup name="simpleLink">
		<attribute name="type" type="string" fixed="simple" form="qualified"/>
		<attribute ref="xlink:href" use="optional"/>
		<attribute ref="xlink:role" use="optional"/>
		<attribute ref="xlink:arcrole" use="optional"/>
		<attribute ref="xlink:title" use="optional"/>
		<attribute ref="xlink:show" use="optional"/>
		<attribute ref="xlink:actuate" use="optional"/>
	</attributeGroup>
	<attributeGroup name="extendedLink">
		<attribute name="type" type="string" fixed="extended" form="qualified"/>
		<attribute ref="xlink:role" use="optional"/>
		<attribute ref="xlink:title" use="optional"/>
	</attributeGroup>
	<attributeGroup name="locatorLink">
		<attribute name="type" type="string" fixed="locator" form="qualified"/>
		<attribute ref="xlink:href" use="required"/>
		<attribute ref="xlink:role" use="optional"/>
		<attribute ref="xlink:title" use="optional"/>
		<attribute ref="xlink:label" use="optional"/>
	</attributeGroup>
	<attributeGroup name="arcLink">
		<attribute name="type" type="string" fixed="arc" form="qualified"/>
		<attribute ref="xlink:arcrole" use="optional"/>
		<attribute ref="xlink:title" use="optional"/>
		<attribute ref="xlink:show" use="optional"/>
		<attribute ref="xlink:actuate" use="optional"/>
		<attribute ref="xlink:from" use="optional"/>
		<attribute ref="xlink:to" use="optional"/>
	</attributeGroup>
	<attributeGroup name="resourceLink">
		<attribute name="type" type="string" fixed="resource" form="qualified"/>
		<attribute ref="xlink:role" use="optional"/>
		<attribute ref="xlink:title" use="optional"/>
		<attribute ref="xlink:label" use="optional"/>
	</attributeGroup>
	<attributeGroup name="titleLink">
		<attribute name="type" type="string" fixed="title" form="qualified"/>
	</attributeGroup>
	<attributeGroup name="emptyLink">
		<attribute name="type" type="string" fixed="none" form="qualified"/>
	</attributeGroup>
</schema>
